﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using XNATools.Events;

namespace XNATools.Services.Interfaces
{
    /// <summary>
    /// Interface for all services who wants to be InputManagerService
    /// </summary>
    public interface IInputManagerService:IService
    {
        /// <summary>
        /// Raised when Kayboard state changed
        /// </summary>
        event KeyboardActionEventHandler KeyboardAction;
        /// <summary>
        /// Raised when mouse moved
        /// </summary>
        event MouseActionEventHandler MouseMove;
        /// <summary>
        /// Raised when a mouse button is pressed or released
        /// </summary>
        event MouseActionEventHandler MouseButtonAction;

        /// <summary>
        /// Gets the KeyboardService
        /// </summary>
        IKeyboardService KeyboardService { get; }
        /// <summary>
        /// Gets the MouseService
        /// </summary>
        IMouseService MouseService { get; }
    }
}
